AWS EC2

먼저 AWS 가입을 해주고 EC2 페이지에 들어가 Launch Instance를 눌러준다 퀵스타트는 우분투를 선택해주고 AMI나 인스턴스 타입은 기본으로 설정된 값 (프리티어로 지원해주는) 것들을 선택해준다

그리고 key pair 생성을 눌러주고 이름을 지정하고 만들기를 눌러준다 이때 저장되는 키체인은 꼭 잘 저장해두기! 나중에 사용된다

인스턴스 생성이 완료되었으면 보안그룹의 인바운드 규칙을 수정해준다

인바운드 규칙에 80과 8080 포트를 추가해준다

인스턴스를 실행해줬다면 이제 Termius로 갈 차례다

Terminus

Terminus를 설치하고 실행한 뒤 New Host를 눌러준다

여기서 우리가 해줘야 할 것은

  • Address에 현재 동작중인 EC2의 Public DNS 주소 넣어주기 (ec2- 어쩌구 저쩌구 한 주소를 넣어준다)
  • 아래 Crdentials에 +를 눌러 Key를 추가하고 아까 EC2 만들때 저장해둔 key 파일 옮겨주기
  • Username에는 ubuntu(기본값)을 적어준다

그리고 connect를 눌러주면 연결된다 🎉

이제 우리가 만든 프로젝트를 빌드해주고, 빌드된 파일을 옮겨줄차례다

왼쪽 위 탭에 있는 SFTP를 눌러주고 Select host를 누르고 아까 연결했던 ec2를 선택해준다 사진에는 이미 파일이 다 옮겨져있는데 그냥 finder에서 빌드 파일을 저기로 드래그앤 드롭하면 옮겨진다

도커 컴포즈 파일을 만들기전에… AWS 프리티어는 램이 1기가라 실행하다보면 터질수도있다(내가 그랬다..) 특히 나처럼 유레카 서버 + 게이트웨이 + api 어플리케이션을 동시에 돌린다면.. 스왑 메모리를 설정해서 메모리를 늘려주자

Docker

도커 컴포즈 파일은 똑똑한 지피티한테 부탁하도록 하자 :) 일단 던져주고 내 설정에 맞춰서 바꿔주기만 하면 된다 ㅎ

나는 유레카를 사용하기때문에 서버가 먼저 작동된 후 게이트웨이와 api가 동작해야해서 그 설정을 compose 파일에 추가해주었다

그리고 컨테이너 이름이랑 서비스 이름이 맞는지 확인하자 ..

vi를 사용해 도커에서 파일을 만들어서 내용 복붙해주고 실행해주면 된다

테스트

포스트맨에서 BaseUrl 부분에 EC2 주소를 넣고 요청을 보내면 잘 들어가는걸 확인할수있다